package com.atguigu.b_test;

import java.util.Scanner;

public class Caesar {
    public static void main(String[] args) {
        //提醒用户输入明文和密钥
        System.out.println("请输入明文和密钥：");
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int k = sc.nextInt();
        //将字符串转换成字符数组
        char arr[]=str.toCharArray();
        //创建一个和上面字符数组长度一样的数组来装对应的ASCII码值
        int[] ins = new int[arr.length];
        //再将定义一个空字符串装对应的字母
        String miwen = "";
        //通过加5模26的方法得到对应的值，并且通过强制类型转换再变成对应字母
        for (int i = 0; i < arr.length; i++) {
            //把小写的字母全部转换成ASCII码
            ins[i]=arr[i]+0;
            //判断字符串中的空格,并输出为空格
            if (ins[i] == (' '+0)){
                //空格还是空格
                ins[i] +=0;
            }else {
                //明文加密钥
                ins[i] +=k;
                //强制类型转换
                arr[i] =(char) ((ins[i] - 'a') % ('a'-'z') + 'a');
            }
            //将变换后的字母串再拼接起来
            miwen = miwen + arr[i];

        }
        //输出最后的结果
        System.out.println("密文: "+ miwen);
    }
}
